<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
</body>
<script>
	function f1(){
		return new Promise((resolve,reject)=>{
			setTimeout(()=>{
				console.log('第一步')
				resolve('明天星期五')
			},1000)
		})
	}

	// f1().then(res=>{
	// 	console.log('dierbu ')
	// })

	 // async处理返回值
	(async function(){
		var p = await f1() // async处理返回值
		console.log(p)   //类似同步操作
		await f1(p)
		await f1()
	})()   
	// await 是表示这行代码是一个一步操作
	//后面的代码会在这个异步操作之后执行  这里的操作执行完毕 其实就相当于 resolve()
	// await 必须是在async 函数内部的
	 

	  //.
	  第一个作业 ：扩展运算符 对 数组的  增 删 改
	  第二个作业 回去研究下  async的使用场景 并举例   我是要作业的啊  


	  axios  基于promise  封装出来的 

	  axios.get('url').then(res=>{

	  })

	  我们现在现在一个项目  vue  

	  utils   
	  index.js

	 var http = {
	 	get:function(url,data){
	 		return new Promise((resolve,reject)=>{
	 			axios.get(url,data).then(){
	 				.......
	 			}
	 		})
	 	},
	 	post:function(){
	 		.........
	 	},
	 	filter:function(){

	 	},

	 }
	 
	 $.ajax({
	 	url:'url',
	 	data:data,
	 	success(){

	 	}
	 })
	 var $ajax = function (){
	 	........
	 	return result
	 }
	 obj.prototype.say =function(){
	 	.....
	 }
	 obj.prototype.run =function(){
	 	.....
	 }

	 obj.prototype = {
	 	constructor:obj,
	 	say(){

	 	},
	 	run(){

	 	}
	 }
	 $ajax(url,data)

	 export default http

	 后面会有一节课 就是专门来 模块化解决方案   。。。

	index.html
	about.html
	service.html
	script  Jqeury 版本换了  你是不是要每一个地方都修改 ?

	为什么不能封装下呢  require.js cmd   amd 
	define([],function(){
		path:{
			..............
		}
	})
	header footer 浪费时间  改错了。。。

</script>
</html>